Recursive Methods এর ব্যবহার

Computer Programming - এপেক্স (Apex) Apex মেথডস (Apex Methods) |
244
244

Recursive Methods হলো এমন মেথড যা নিজেকে পুনরায় কল করে। এটি সাধারণত এমন সমস্যাগুলি সমাধান করতে ব্যবহৃত হয়, যা একই ধরনের উপ-সমস্যায় ভাগ করা যায়। Recursive মেথড সাধারণত কিছু নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত পুনরায় নিজেকে কল করে।

Recursive Method-এর বৈশিষ্ট্য

  1. বেস কেস (Base Case): Recursive মেথডে একটি বেস কেস থাকতে হয়, যা শর্ত পূরণ হলে মেথডটি পুনরায় কল হওয়া বন্ধ করে। এটি একটি স্টপিং কন্ডিশন হিসেবে কাজ করে।
  2. Recursive Call: মেথডটি নিজেকে পুনরায় কল করে এবং প্রত্যেকবার একই ধরনের কাজ সম্পন্ন করে।

Recursive মেথডের ব্যবহার এবং উদাহরণ

Recursive মেথডের কিছু সাধারণ ব্যবহার হলো ফ্যাক্টোরিয়াল, ফিবোনাচি সিরিজ এবং অন্যান্য সমস্যা, যা উপ-সমস্যায় ভাগ করে সমাধান করা যায়।

উদাহরণ ১: ফ্যাক্টোরিয়াল নির্ণয়

ফ্যাক্টোরিয়াল হলো একটি সংখ্যা এবং তার পূর্ববর্তী সমস্ত সংখ্যার গুণফল। যেমন, ৫ এর ফ্যাক্টোরিয়াল (5!) হলো 5 x 4 x 3 x 2 x 1 = 120।

Recursive মেথড দিয়ে ফ্যাক্টোরিয়াল নির্ণয়:

public class FactorialCalculator {
    public Integer factorial(Integer n) {
        // বেস কেস: n যদি 1 হয়, তাহলে 1 রিটার্ন করবে
        if (n <= 1) {
            return 1;
        }
        // Recursive Call: n * factorial(n - 1)
        return n * factorial(n - 1);
    }
}

// ব্যবহার
FactorialCalculator calc = new FactorialCalculator();
Integer result = calc.factorial(5); // result = 120
System.debug('Factorial of 5: ' + result);

এখানে factorial() মেথড নিজেকে পুনরায় কল করে যতক্ষণ না n 1 বা এর কম হয়। যখন n 1 হয়, মেথডটি 1 রিটার্ন করে এবং Recursive কল শেষ হয়।


উদাহরণ ২: ফিবোনাচি সিরিজ নির্ণয়

ফিবোনাচি সিরিজ হলো এমন একটি সংখ্যার সিরিজ যেখানে প্রতিটি সংখ্যা তার আগের দুটি সংখ্যার যোগফল। যেমন: 0, 1, 1, 2, 3, 5, 8,...

Recursive মেথড দিয়ে ফিবোনাচি সিরিজের নির্দিষ্ট স্থান নির্ণয়:

public class FibonacciCalculator {
    public Integer fibonacci(Integer n) {
        // বেস কেস: n যদি 0 বা 1 হয়
        if (n == 0) {
            return 0;
        } else if (n == 1) {
            return 1;
        }
        // Recursive Call: fibonacci(n - 1) + fibonacci(n - 2)
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
}

// ব্যবহার
FibonacciCalculator fibCalc = new FibonacciCalculator();
Integer fibResult = fibCalc.fibonacci(6); // result = 8
System.debug('6th Fibonacci number: ' + fibResult);

এখানে fibonacci() মেথড নিজেকে পুনরায় কল করে এবং আগের দুটি সংখ্যার যোগফল রিটার্ন করে। যখন n 0 বা 1 হয়, তখন Recursive কল বন্ধ হয় এবং বেস কেস অনুযায়ী রিটার্ন করা হয়।


Recursive Methods-এর ব্যবহার

  1. সমস্যার উপ-সমস্যায় বিভাজন: এমন সমস্যাগুলোর জন্য Recursive মেথড কার্যকর, যা ছোট ছোট উপ-সমস্যায় ভাগ করা যায়।
  2. স্ট্রাকচারাল ডেটা প্রসেসিং: ট্রি এবং গ্রাফের মতো ডেটা স্ট্রাকচার প্রসেস করতে Recursive মেথড ব্যবহার করা যায়।
  3. গাণিতিক সমস্যার সমাধান: যেমন ফ্যাক্টোরিয়াল, ফিবোনাচি সিরিজ ইত্যাদি সমস্যা সমাধানে Recursive মেথড কার্যকর।

Recursive Methods-এর সুবিধা এবং সীমাবদ্ধতা

  • সুবিধা: Recursive মেথড কোডের সরলতা বজায় রাখে এবং সমস্যার গঠন অনুযায়ী লজিক তৈরি করা সহজ হয়।
  • সীমাবদ্ধতা: Recursive মেথড অতিরিক্ত মেমরি ব্যবহার করে এবং যদি বেস কেস না থাকে বা সঠিকভাবে কাজ না করে, তাহলে এটি ইনফাইনাইট রিকর্শনে পড়ে যেতে পারে।

সংক্ষেপে

  • Recursive Method: নিজেকে পুনরায় কল করে সমস্যার সমাধান করে।
  • Base Case: স্টপিং কন্ডিশন যা Recursive কল বন্ধ করে।
  • Recursive Call: মেথডের নিজেকে পুনরায় কল করার প্রক্রিয়া।

Recursive Methods ব্যবহার করে কার্যকরী ও পুনঃব্যবহারযোগ্য কোড তৈরি করা যায়, যা জটিল সমস্যাগুলোর সমাধান সহজ করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion